# 商品数据库 - 使用列表存储商品信息 (商品名, 价格)
products = [
    ("苹果", 5.5),
    ("香蕉", 3.2),
    ("牛奶", 8.0),
    ("鸡蛋", 12.5),
    ("面包", 6.8),
    ("矿泉水", 2.0),
    ("啤酒", 7.5)
]


def shopping_system():
    # 初始化用户账户
    money = float(input("请输入您的账户余额: "))

    # 创建空购物车 (使用列表)
    shopping_cart = []

    print("\n欢迎来到超市! 商品列表:")
    # 显示所有商品 (使用列表遍历)
    for idx, (name, price) in enumerate(products, 1):
        print(f"{idx}. {name} - ￥{price:.2f}")

    while True:
        print(f"\n当前余额: ￥{money:.2f}")
        choice = input("请输入商品编号添加到购物车(Q/q结算): ")

        # 退出结算
        if choice.lower() == 'q':
            break

        # 验证输入
        try:
            choice_idx = int(choice) - 1
            if choice_idx < 0 or choice_idx >= len(products):
                print("没有这个商品，别瞎弄！")
                continue
        except ValueError:
            print("请输入有效的数字编号!")
            continue

        # 获取选择的商品
        product_name, product_price = products[choice_idx]

        # 检查余额是否足够
        if money >= product_price:
            # 添加到购物车 (列表追加)
            shopping_cart.append((product_name, product_price))
            # 扣除金额
            money -= product_price
            print(f"恭喜，购买成功！您的卡余额还剩 ￥{money:.2f}")
        else:
            print(f"穷鬼，钱不够！请到其他超市购买! ")

    # 打印购物小票
    print("\n===== 购物小票 =====")
    if not shopping_cart:
        print("您没有购买任何商品")
    else:
        total = 0.0
        # 使用列表遍历购物车
        for idx, (name, price) in enumerate(shopping_cart, 1):
            print(f"{idx}. {name} - ￥{price:.2f}")
            total += price
        print("-------------------")
        print(f"总计: ￥{total:.2f}")
        print(f"剩余余额: ￥{money:.2f}")
    print("感谢您的光临!")


# 启动购物系统
shopping_system()